﻿using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;

namespace MediumApi.Param
{
    public class AppParam
    {
        public class AddBaseUserParam
        {
            public string Id { get; set; }
            /// <summary>
            /// 管理员账号
            /// </summary>
            public string UserName { get; set; }
            /// <summary>
            /// 管理员密码
            /// </summary>
            public string PassWord { get; set; }
            /// <summary>
            /// 角色ID
            /// </summary>
            public int RoleId { get; set; }
            /// <summary>
            /// 状态 1-启用 2-禁用
            /// </summary>
            public int Status { get; set; }
            /// <summary>
            /// 说明
            /// </summary>
            public string Describe { get; set; }
            /// <summary>
            /// 名字
            /// </summary>
            public string Name { get; set; }
            /// <summary>
            /// 头像URL
            /// </summary>
            public string AvatarUrl { get; set; }
        }
        public class UpdateBaseUserParam
        {

            public string Id { get; set; }
            /// <summary>
            /// 管理员账号
            /// </summary>
            public string UserName { get; set; }
            /// <summary>
            /// 管理员密码
            /// </summary>
            public string PassWord { get; set; }
            /// <summary>
            /// 角色ID
            /// </summary>
            public int RoleId { get; set; }
        }
        public class SelectBaseUserListParam
        {
            /// <summary>
            /// 角色ID
            /// </summary>
            public int RoleId { get; set; }
            /// <summary>
            /// 当前页码
            /// </summary>
            public int CurrentPage { get; set; }
            /// <summary>
            /// 每页条数
            /// </summary>
            public int PageSize { get; set; }
        }
        public class SelectChannelListParam
        {
            /// <summary>
            /// 父级
            /// </summary>
            public int Parent { get; set; }
            /// <summary>
            /// 类型 1-频道 2-分类
            /// </summary>
            public int Type { get; set; }
        }
        public class AddChannelParam
        {
            public int Id { get; set; }
            /// <summary>
            /// 频道顺序
            /// </summary>
            public int ChannelSort { get; set; }
            /// <summary>
            /// 频道名字
            /// </summary>
            public string ChannelName { get; set; }
            /// <summary>
            /// 首页排序
            /// </summary>
            public int HomeSort { get; set; }
            /// <summary>
            /// 图标
            /// </summary>
            public string AvatarUrl { get; set; }
            /// <summary>
            /// 父级
            /// </summary>
            public int Parent { get; set; }
            /// <summary>
            /// 类型 1-频道 2-分类
            /// </summary>
            public int Type { get; set; }
            /// <summary>
            /// 状态
            /// </summary>
            public int Status { get; set; }
        }
        public class UpdateHomesortParam
        {
            public int Id { get; set; }
            /// <summary>
            /// 首页排序
            /// </summary>
            public int HomeSort { get; set; }
        }
        public class UpdateChannelParam
        {
            /// <summary>
            /// ID
            /// </summary>
            public int Id { get; set; }
            /// <summary>
            /// 频道名字
            /// </summary>
            public string ChannelName { get; set; }
            /// <summary>
            /// 频道排序
            /// </summary>
            public int ChannelSort { get; set; }
        }
        public class AddUserParam
        {
            /// <summary>
            /// 用户ID
            /// </summary>
            public string Id { get; set; }
            /// <summary>
            /// 用户名
            /// </summary>
            public string UserName { get; set; }
            /// <summary>
            /// 密码
            /// </summary>
            public string PassWord { get; set; }
            /// <summary>
            /// 邮箱
            /// </summary>
            public string Email { get; set; }
            /// <summary>
            /// 电话号码
            /// </summary>
            public string PhoneNumber { get; set; }
            /// <summary>
            /// 头像url
            /// </summary>
            public string AvatarUrl { get; set; }
            /// <summary>
            /// 性别
            /// </summary>
            public int Gender { get; set; }
            public int Status { get; set; }
            public string Code { get; set; }
        }
        public class UpdateUserParam
        {
            /// <summary>
            /// 用户ID
            /// </summary>
            public string Id { get; set; }
            /// <summary>
            /// 用户名
            /// </summary>
            public string UserName { get; set; }
            /// <summary>
            /// 密码
            /// </summary>
            public string PassWord { get; set; }
            /// <summary>
            /// 邮箱
            /// </summary>
            public string Email { get; set; }
            /// <summary>
            /// 电话号码
            /// </summary>
            public string PhoneNumber { get; set; }
            /// <summary>
            /// 头像url
            /// </summary>
            public string Avatar { get; set; }
            /// <summary>
            /// 性别
            /// </summary>
            public int Gender { get; set; }
        }
        public class SelectUserListParam
        {
            /// <summary>
            /// 当前页码
            /// </summary>
            public int CurrentPage { get; set; }
            /// <summary>
            /// 每页条数
            /// </summary>
            public int PageSize { get; set; }
        }
        public class AddContentsParam
        {
            public string Id { get; set; }
            /// <summary>
            /// 标题
            /// </summary>
            public string Title { get; set; }
            /// <summary>
            /// 图片URL
            /// </summary>
            public string CoverImage { get; set; } = string.Empty;
            /// <summary>
            /// 摘要
            /// </summary>
            public string Summary { get; set; }
            /// <summary>
            /// 作者Id
            /// </summary>
            public string AuthorId { get; set; }
            /// <summary>
            /// 出版人
            /// </summary>
            public string Publish { get; set; }
            /// <summary>
            /// 内容类型(1-文章 2-图集 3-视频 )
            /// </summary>
            public int ContentType { get; set; }
            /// <summary>
            /// 频道ID
            /// </summary>
            public int ChannelId { get; set; }
            /// <summary>
            /// 来源
            /// </summary>
            public string Source { get; set; }
            /// <summary>
            /// 推送
            /// </summary>
            public int Push { get; set; }
            /// <summary>
            /// 状态 0-草稿 1-待审核
            /// </summary>
            public int Status { get; set; }
            /// <summary>
            /// 上架状态
            /// </summary>
            public int Display { get; set; }
            /// <summary>
            /// 精选
            /// </summary>
            public int isChoiceness { get; set; }
            /// <summary>
            /// 图片/视频
            /// </summary>
            public List<string> Medium { get; set; } = new List<string>();
        }
        public class IsRecommendParam
        {
            public string ContentsId { get; set; }
            /// <summary>
            /// 是否推荐
            /// </summary>
            public int Recommend { get; set; }
        }
        public class IsDisplayParam
        {
            public string ContentsId { get; set; }
            /// <summary>
            /// 上架状态
            /// </summary>
            public int Display { get; set; }
        }
        public class UpdteContentsParam
        {
            /// <summary>
            /// 内容ID
            /// </summary>
            public string Id { get; set; }
            /// <summary>
            /// 标题
            /// </summary>
            public string Title { get; set; }
            /// <summary>
            /// 图片URL
            /// </summary>
            public string CoverImage { get; set; }
            /// <summary>
            /// 摘要
            /// </summary>
            public string Summary { get; set; }
            /// <summary>
            /// 内容类型(1-文章 2-视频 3-图集)
            /// </summary>
            public int ContentType { get; set; }
            /// <summary>
            /// 频道ID
            /// </summary>
            public string ChannelId { get; set; }
            /// <summary>
            /// 来源
            /// </summary>
            public string Source { get; set; }
        }
        public class AddRoleParam
        {
            public int Id { get; set; }
            /// <summary>
            /// 角色名
            /// </summary>
            public string RoleName { get; set; }
            /// <summary>
            /// 状态 1-启用 2-禁用
            /// </summary>
            public int Status { get; set; }
            /// <summary>
            /// 说明
            /// </summary>
            public string Describe { get; set; }
        }
        public class UpdateRoleParam
        {
            public int Id { get; set; }
            /// <summary>
            /// 角色名
            /// </summary>
            public string RoleName { get; set; }
        }
        public class AddPageTableParam
        {
            public int Id { get; set; }
            /// <summary>
            /// 页面名字
            /// </summary>
            public string PageName { get; set; }
            /// <summary>
            /// 页面等级
            /// </summary>
            public int PageGrade { get; set; }
            /// <summary>
            /// 页面路径
            /// </summary>
            public string PagePath { get; set; }
            /// <summary>
            /// 上级ID
            /// </summary>
            public int ManagerId { get; set; }

        }
        public class UpdatePageTableParam
        {
            public int Id { get; set; }
            /// <summary>
            /// 页面名字
            /// </summary>
            public string PageName { get; set; }
            /// <summary>
            /// 页面等级
            /// </summary>
            public int PageGrade { get; set; }
            /// <summary>
            /// 页面路径
            /// </summary>
            public string PagePath { get; set; }
        }
        public class UpdateMenuParam
        {
            public int Id { get; set; }
            /// <summary>
            /// 上级ID
            /// </summary>
            public int ManagerId { get; set; }
            /// <summary>
            /// 菜单名字
            /// </summary>
            public string MenuName { get; set; }
            /// <summary>
            /// 菜单路径
            /// </summary>
            public string MenuPath { get; set; }
            /// <summary>
            /// 页面ID
            /// </summary>
            public int PageTableId { get; set; }
            /// <summary>
            /// 菜单图标
            /// </summary>
            public string icon { get; set; }
            /// <summary>
            /// 菜单类型 1-一级 2,-子菜单
            /// </summary>
            public int MenuType { get; set; }
            /// <summary>
            /// 菜单排序
            /// </summary>
            public int Sort { get; set; }
            /// <summary>
            /// 菜单状态 1-显示 2-隐藏
            /// </summary>
            public int Status { get; set; }
        }
        public class AddRoleMenuParam
        {
            /// <summary>
            /// 角色ID
            /// </summary>
            public int RoleId { get; set; }
            /// <summary>
            /// 菜单ID
            /// </summary>
            public List<int> MenuId { get; set; }
            /// <summary>
            /// 半选菜单ID
            /// </summary>
            public List<int> halfCheckedKeys { get; set; }

        }
        public class AddRoleMenu
        {
            /// <summary>
            /// 菜单ID
            /// </summary>
            public int MenuId { get; set; }
            /// <summary>
            /// 是否半选 1-半选 2-全选
            /// </summary>
            public int halfCheckedKeys { get; set; }
        }

        public class LoginParam
        {
            /// <summary>
            /// 管理员账号
            /// </summary>
            public string UserName { get; set; }
            /// <summary>
            /// 管理员密码
            /// </summary>
            public string PassWord { get; set; }
        }
        public class AddMenuParam
        {
            public int Id { get; set; }
            /// <summary>
            /// 上级ID
            /// </summary>
            public int ManagerId { get; set; }
            /// <summary>
            /// 菜单名字
            /// </summary>
            public string MenuName { get; set; }
            /// <summary>
            /// 菜单路径
            /// </summary>
            public string MenuPath { get; set; }
            /// <summary>
            /// 页面ID
            /// </summary>
            public int PageTableId { get; set; }
            /// <summary>
            /// 菜单图标
            /// </summary>
            public string icon { get; set; }
            /// <summary>
            /// 菜单类型 1-一级 2,-子菜单
            /// </summary>
            public int MenuType { get; set; }
            /// <summary>
            /// 菜单排序
            /// </summary>
            public int Sort { get; set; }
            /// <summary>
            /// 菜单状态 1-显示 2-隐藏
            /// </summary>
            public int Status { get; set; }
        }
        public class SelectRolePageTableListParam
        {
            /// <summary>
            /// 角色ID
            /// </summary>
            public int RoleId { get; set; }
        }
        public class UploadPictureParam
        {
            public IFormFile Picture { get; set; }
            /// <summary>
            /// 类型
            /// </summary>
            public int Type { get; set; }
        }
        public class SelectContentsListParam
        {
            /// <summary>
            /// 频道ID
            /// </summary>
            public int ChannelId { get; set; }
            /// <summary>
            /// 当前页码
            /// </summary>
            public int CurrentPage { get; set; }
            /// <summary>
            /// 每页条数
            /// </summary>
            public int PageSize { get; set; }
        }
        public class SelectTemplateListParam
        {
            /// <summary>
            /// 当前页码
            /// </summary>
            public int CurrentPage { get; set; }
            /// <summary>
            /// 每页条数
            /// </summary>
            public int PageSize { get; set; }
        }
        public class SelectAppContentsListParam
        {
            public string UserId { get; set; }
            /// <summary>
            /// 是否推荐
            /// </summary>
            public int IsRecommend { get; set; }
            /// <summary>
            /// 频道ID
            /// </summary>
            public int ChannelId { get; set; }
            /// <summary>
            /// 帖子类型
            /// </summary>
            public int ContentType { get; set; }
            /// <summary>
            /// 搜索
            /// </summary>
            public string Search { get; set; }
            /// <summary>
            /// 当前页码
            /// </summary>
            public int CurrentPage { get; set; }
            /// <summary>
            /// 每页条数
            /// </summary>
            public int PageSize { get; set; }
        }



        public class AppLoginParam
        {
            /// <summary>
            /// 手机号
            /// </summary>
            public string PhoneNumber { get; set; }
            /// <summary>
            /// 验证码
            /// </summary>
            public string Code { get; set; }
            /// <summary>
            /// 密码
            /// </summary>
            public string PassWord { get; set; }
        }
        public class CAPTCHACodeParam
        {
            public string PhoneNumber { get; set; }
            public string Code { get; set; }
        }
        public class AddCommentsParam
        {
            /// <summary>
            /// 帖子ID
            /// </summary>
            public string ContentId { get; set; }
            /// <summary>
            /// 父级评论ID
            /// </summary>
            public string Parent { get; set; }
            /// <summary>
            /// 用户ID
            /// </summary>
            public string UserId { get; set; }
            /// <summary>
            /// 内容
            /// </summary>
            public string Summary { get; set; }
            /// <summary>
            /// 回复ID
            /// </summary>
            public string ReplyUserId { get; set; }
            /// <summary>
            /// 回复评论ID
            /// </summary>
            public string ReplyId { get; set; }
        }
        public class AddContentsSrecordParma
        {
            /// <summary>
            /// 帖子ID
            /// </summary>
            public string ContentsId { get; set; }
            /// <summary>
            /// 用户ID
            /// </summary>
            public string UserId { get; set; }
            /// <summary>
            /// 类型
            /// </summary>
            public int Type { get; set; }
            /// <summary>
            /// 创建时间
            /// </summary>
            public DateTime CreatedAt { get; set; }
        }
        public class SelectContentsSrecordListParam
        {
            /// <summary>
            /// 类型  1,历史 2,点赞 3,分享
            /// </summary>
            public int Type { get; set; }
            /// <summary>
            /// 用户ID
            /// </summary>
            public string UserId { get; set; }
            /// <summary>
            /// 当前页码
            /// </summary>
            public int CurrentPage { get; set; }
            /// <summary>
            /// 每页条数
            /// </summary>
            public int PageSize { get; set; }
        }
        public class AddConcernParam
        {
            /// <summary>
            /// 用户ID
            /// </summary>
            public string UserId { get; set; }
            /// <summary>
            /// 关注用户iD
            /// </summary>
            public string ConcernUserId { get; set; }
        }
        public class SelectUserCommentsListParam
        {
            /// <summary>
            /// 用户ID
            /// </summary>
            public string UserId { get; set; }
            /// <summary>
            /// 当前页码
            /// </summary>
            public int CurrentPage { get; set; }
            /// <summary>
            /// 每页条数
            /// </summary>
            public int PageSize { get; set; }
        }

        public class AddTemplateParam
        {
            /// <summary>
            /// ID
            /// </summary>
            public int Id { get; set; }
            /// <summary>
            /// 模板名
            /// </summary>
            public string TemplateName { get; set; }
            /// <summary>
            /// 模板内容
            /// </summary>
            public string Summary { get; set; }
            /// <summary>
            /// 备注
            /// </summary>
            public string Remarks { get; set; }
        }
        public class IsPushParam
        {
            public PushData data { get; set; }

            public string sign { get; set; }

        }
        public class PushData
        {
            public string title { get; set; }
            public string content { get; set; }
            public string active { get; set; } = "navPost";
            public payload payload { get; set; } = new payload();
        }
        public class payload
        {
            public string id { get; set; }
        }
    }
}
